OLE v konzolovej aplikacii - este raz
Otázka od:  Brano
13. 10. 2004 12:44
zdravim vsetkych,
este raz a kompletne...
potreboval by som v Delphi konzolovej aplikacii nacitat udaje z xls
excelovskeho suboru.
Program je asi:
{$APPTYPE CONSOLE}
uses
 SysUtils, Variants, ComObj;
var
 ExcelApp: Variant;
begin
 try
   ExcelApp:=CreateOleObject('Excel.Application');
   ^
tu dojde k vynimke EOLESysError, Delphi IDE da asi takuto chybovu hlasku:
Debugger Exception Notification
Project raised exception class EOleSysError with message 
'CoInitialize
has not been called'...
Rovnaky postup v normalnej oknovej aplikacii funguje bez chyb.
Vdaka
Brano
Odpovedá:  Karel Kral
13. 10. 2004 12:47
A co kdybys napred zavolal to CoInitialize, jak ti radi ta chybova 
zprava? V ConsoleApp se to nevola automaticky.
Brano napsal(a):
> zdravim vsetkych,
> 
> este raz a kompletne...
> 
> potreboval by som v Delphi konzolovej aplikacii nacitat udaje z xls
> excelovskeho suboru.
> Program je asi:
> 
> {$APPTYPE CONSOLE}
> uses
>  SysUtils, Variants, ComObj;
> var
>  ExcelApp: Variant;
> begin
>  try
>    ExcelApp:=CreateOleObject('Excel.Application');
>    ^
> tu dojde k vynimke EOLESysError, Delphi IDE da asi takuto chybovu hlasku:
> 
> Debugger Exception Notification
> Project raised exception class EOleSysError with message 
'CoInitialize
> has not been called'...
> 
> Rovnaky postup v normalnej oknovej aplikacii funguje bez chyb.
> 
> Vdaka
> 
> Brano
-- 
______________________________________________________
Karel Kral, vedouci odd. IT / IT manager
Purus, s.r.o., Cezavy 627, 664 56 Blucina, CZ
Tel: 547 235 000, 602 552 432, Fax: 547 231 203
E-Mail: mailto:kral@purus.cz, WWW: http://www.purus.cz
______________________________________________________
Odpovedá:  Ales Pavel
13. 10. 2004 20:41
>Brano napsal:
>  
>
  >este raz a kompletne...
>potreboval by som v Delphi konzolovej aplikacii nacitat udaje z xls
>>excelovskeho suboru.
>>Program je asi:
>>{$APPTYPE CONSOLE}
>>uses
>> SysUtils, Variants, ComObj;
>>var
>> ExcelApp: Variant;
>>begin
>>try
>> ExcelApp:=CreateOleObject('Excel.Application');
>>tu dojde k vynimke EOLESysError, Delphi IDE da asi takuto chybovu hlasku:
>>Debugger Exception Notification
>>Project raised exception class EOleSysError with message 
'CoInitialize
>>has not been called'...
>  
>
Aldik na to:
Vzdyt ti to tam pise musis volat fci OLEInitialize nebo tak nejak se ta 
fce jmenuje a na konci to i patricne uvolnit.
Pochopil jsem to tak ze se alokuje prostor pro pouziti ole objektu v
programu, ale je to jen muj dohad.
Brano napsal:
>Rovnaky postup v normalnej oknovej aplikacii funguje bez chyb.
Aldik na to:
>Tak si to vola tusim application.initializacion 
>  
>
dokonce bys  tam i zarucene dohledal pouziti.
Aldik